1. Field of the Invention
The present invention relates to automated document information exchanges and, more particularly, to a system and method for automating document exchange and merging.
2. Description of the Related Art
Businesses and trading partners exchange business documents for records of transactions. Traditionally, these exchanges were performed by mail or courier thereby requiring paperwork and introducing delays. With advancements in network technologies and the development of improvements in the Internet more business is transacted xe2x80x9con-linexe2x80x9d.
There are many instances where documents of one type are issued in response to documents of another type. For example, suppliers can issue invoice documents based on received purchase order (PO) documents, or issue a reply to request for quote documents based on received request for quote documents, from prospective buyers. Developing solutions for any such document pair may be tedious, and hard to maintain, especially if the solution include manual document production and record keeping.
Therefore, a need exists for a business process automation system for dynamically exchanging and merging documents.
A system for exchanging and merging messages over a network includes a server accessible by a plurality of remote browsers for transmitting a template including fields for information entry and a business system accessible by the server for generating a return message pursuant to information entered in the template on the browsers. The business system includes a first parser for receiving a message from a browser, the message including information about data characteristics of information entered into the template, and a second parser for receiving information about data characteristics to provide a return template. A merging algorithm is implemented to merge the message with the return template for providing a return message to the browser having portions of the return template with data entered therein.
In alternate embodiments, the information entered into the template is preferably associated with tag names and the means for merging may include a name tag map for correlating tags names of the template with tag names of the return template. The message may include information having a name and a value and the first parser parses the first message into name and value pairs. The first message may be written in an extensible markup language (XML) and the data type information may be in a corresponding data type definition format (DTD). The means for merging may include a constraint set for identifying tag names used in multiple instances. The constraint set may provide higher level tag names to identify the tag names used in multiple instances. The network is preferably the Internet. The first parser parses the first message to preferably provide tag name and value information in a format of one of a document object model tree and an array.
A system for exchanging and merging extensible markup language (XML) documents over the Internet includes a server accessible by a plurality of remote browsers for transmitting a template including fields for information entry, and a business system accessible by the server for generating a return XML document pursuant to information entered in the template on the browsers. The business system includes a first parser for receiving a first XML document and a corresponding data type definition(DTD)file from a browser, a second parser for receiving a return data type definition(DTD)file to provide a return template and means for merging the first XML document with the return template for providing the return XML document to the browser having portions of the return template with data entered therein corresponding to at least some of the information entered into the template.
In alternate embodiments, the information entered into the template is preferably associated with tag names and the means for merging includes a name tag map for correlating tag names of the template with tag names of the return template. The first XML document may include information having a name and a value and the first parser parses the first XML document into name and value pairs. The means for merging may include a constraint set for identifying tag names used in multiple instances. The constraint set may provide higher level tag names to identify the tag names used in multiple instances. The first parser preferably parses the first XML document to provide tag name and value information in a format of one of a document object model tree and an array.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for merging and exchanging documents over a network, the method steps includes providing an input document including name tags and data information in a predetermined form, compiling the input document to arrange the names and data into an input document format, providing a return document format including name tags, comparing the name tags of the input document and the name tags in the return document format to match equivalent name tags and merging the input document format with the return document format to provide a return document with portions filled in with at least some information included in the input document.
In alternate embodiments of the program storage device, the step of providing an input document may include the step of providing an input document on a template having data field therein for data entered, the data fields being labeled with name tags to identify the data. The step of compiling may include the step of parsing the input document into name tag and value pairs in one of a node tree format and an array format. The step of comparing the name tags may include the step of providing a name tag map to correlate equivalent name tags. The step of providing a return document format may include the step of providing looping information to identify name tags according to a constraint set such that name tags employed in multiple instances are identified. The constraint set may provide higher level tag names to identify the tag names used in multiple instances.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.